package cn.fl.project.service;

import cmm.mid.core.framework.dto.DataResultDTO;
import cn.cmm.base.framework.exception.BaseException;

/**
 * 项目合同服务
 */
public interface IPrjContService {

	/**
	 * 根据业务主键和电子签章系统合同ID删除指定合同并且重新生成
	 * @Desc 1、根据业务ID和合同ID获取合同关系数据 2、找到合同配置子表的模版ID 3、根据表明区分业务数据去哪里获取业务数据 4、删除合同成功后删除当前关系
	 * @param pkId 业务主键
	 * @param olContId 电子签章系统合同ID
	 * @param crtUsrId 创建人ID
	 * @return 是否删除成功
	 * @throws BaseException
	 */
	public boolean modifyContPDFByPkIdAndOlContId(String pkId, String olContId) throws BaseException;
	
	/**
	 * 检查所有合同信息是否都已经生成并签署
	 * @param prjId 项目ID
	 * @param paySchmId 支付表ID
	 * @param crtUsrId 创建人ID
	 * @return
	 * @throws BaseException
	 */
	public DataResultDTO chcekContAllIsSign(Long prjId, Long paySchmId, Long crtUsrId) throws BaseException;
	
	/**
	 * 根据业务主键和电子签章系统合同ID删除指定合同
	 * @Desc 1、根据业务ID和合同ID获取合同关系数据 2、删除合同成功后删除当前关系
	 * @param pkId 业务主键
	 * @param olContId 电子签章系统合同ID
	 * @param crtUsrId 创建人ID
	 * @return 是否删除成功
	 * @throws BaseException
	 */
	public boolean delContPDFByPkIdAndOlContId(String pkId, String olContId) throws BaseException;
	
	
}
